Printers receive print data from a source such as a host computer and generate a printed representation of that print data on a page. A printer can serve either single or multiple hosts. For example, a printer may be connected by cable directly to the serial or parallel port of the host to serve that host only. Alternatively, a printer interfaced to a network can be assigned to multiple hosts residing on that network.
Many printers have in the past included a panel for monitoring and manual control of the printer. Manual control might be carried out by way of control devices such as push-button switches, which are sometimes permanently labeled and perform dedicated functions. Status indication and other monitoring functions may be implemented with the aid of indicator lights on the panel or by audible alarms or messaging on a liquid crystal display. Such facilities typically provided control capabilities ranging from rudimentary power switching, an indication of whether the printer is in an online, or ready status, to a variety of more sophisticated functions such as selecting paper size, paper source, font, point size, pitch, manual or automatic feed, print orientation, duplex mode, lines per page, diagnostic testing and others. Monitoring functions may include providing any of a number of visual or audible indications informing a user of condition or service needs of the printer. These indications may take the form of status messages such as "ready" or "busy" which indicate the current condition of the printer. They may also take the form of attendance messages such as "paper jam," "load paper," "toner low," or "top cover open," calling for the intervention of the operator, or may take the form of service error codes indicating problems requiring the attention of a service technician.
Efforts have been made to provide network administrators and users with some capability to monitor and control a remote printer. Exemplary of these are software utilities for configuring, managing and troubleshooting printers on a network, such as Novell NetWare.RTM. network. Such a utility allows a network administrator to perform a number of tasks relating to a printer located anywhere on the network. For example, the administrator can gather status information and display the operational status and connection status of a given printer on the screen of the host computer by using a mouse or other pointing device. A printer can also be remotely configured to operate either in a remote printer mode or a queue server mode. In the queue server mode, no separate print server is required. Print data from a host is communicated to a file server where it is spooled in a print queue. When the selected printer is available, a queue server transfers the job to the printer for printing. In the remote printer mode, the print data spooled in the file server is copied to the selected printer by a dedicated print server. The utility also permits a network administrator to add or delete queues or file servers and to remotely install, select or remove printer drivers.
Some prior art printers connected locally to a host have used bidirectional communications implemented with non-standard protocols to permit a user of the host to monitor and control the printer. For example, other than a power switch located elsewhere on the printer, the operator panel of the WinWriter 600 manufactured by Lexmark International, Inc. includes only push buttons labeled "Pause/Resume" and "Cancel" and four indicator lights labeled to show whether the printer is "ready" or is busy "printing" or requires "paper" or "service". All other monitoring and control functions are available through a graphical user interface (GUI) generated by a Windows based utility running on the host. While printers of this type could be shared with network users to permit them to print jobs, the control and monitoring functions available to the user of the local host were not available to the network users.
More recently, it has been suggested that the dependence on the monitoring and selection functions available through the printer panel, which is part of the printer, be lessened. To this end, it has also been suggested that the panel display and functions be replicated to a monitor. For example, Lexmark has a product MarkVision.TM. for this purpose. While allowing remote access to the printer panel, this approach has maintained a dependency on the printer control panel.
The coordination of fonts and symbol sets between a computer and a printer is an important task in successfully and efficiently printing documents. The "font" is simply a set of characters that share the same basic characteristics. Fonts usually take their names from the type face: courier or helvetica, for example. Each type face is accompanied by a host of specific attributes such as height, pitch (width), spacing, style, symbol set, stroke weight and orientation. The "symbol set" for a font includes the actual characters you can print in it. For the alphabetic characters and numbers, there is little difference among symbol sets, except that most U.S. fonts include the dollar sign where European fonts are more likely to include the sign for pounds sterling. The fonts and symbol sets available in the printer must be known by the user or otherwise communicated to the host computer to allow for proper printing. If the symbol set used by the computer's display monitor is not the one used by the printer, there will be differences or odd characters on the printed page. One way to address this situation is to know the fonts and symbol sets resident in the printer by using the printer's manual and manually entering those into memory of the host computer. This may be inefficient and does not allow for easy changes of fonts and symbol sets in the printer. Thus, it would be desirable to provide font and symbol set information in some automated way to the host.
Therefore, a need has arisen for a printer communication system that reduces the shortcomings of the prior systems. A further need exists for a printer communication system and method that allows for the remote setting of printer configuration variables and monitoring of the printer that is independent of a printer control panel. A further need exists for a printer communication system that efficiently allows a host computer to be aware of font and symbol sets available on a printer.